package io.github.talelin.latticy.dto.rule.ruleKey;

import lombok.Data;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Positive;

/**
 * @authoer:wulongbo
 * @createDate:2022/8/23
 * @description:
 */

@Data
public class RuleKeyDTO {


    /**
     * 计费项类型（1：入库管理；2：出库管理；3：退货管理）
     */
    @Min(value = 1, message = "{rule.feesBizType.min}")
    @Max(value = 3, message = "{rule.feesBizType.max}")
    @Positive(message = "{rule.feesBizType.positive}")
    private Integer feesBizType;

    /**
     * 计费维度 （1：按整单来算；2：按每箱来算；3：按每种sku来算）
     */
    @Min(value = 1, message = "{rule.level.min}")
    @Max(value = 3, message = "{rule.level.max}")
    @Positive(message = "{rule.level.positive}")
    private Integer level;

    /**
     * 模板key
     */
    @NotBlank(message = "{ftlKey.not-blank}")
    private String ftlKey;

    /**
     * 模板value
     */
    @NotBlank(message = "{ftlValue.not-blank}")
    private String ftlValue;

    /**
     * 类型（1：条件；2：规则）
     */
    @Min(value = 1, message = "{rule.type.min}")
    @Max(value = 2, message = "{rule.type.max}")
    @Positive(message = "{rule.type.positive}")
    private Integer type;

    /**
     * 框类型（1：输入框，2：下拉框）
     */
    @Min(value = 1, message = "{rule.frameType.min}")
    @Max(value = 2, message = "{rule.frameType.max}")
    @Positive(message = "{rule.frameType.positive}")
    private Integer frameType;
}
